Mobile Application Management (MAM) is a class of software applications that enable enterprises to monitor the usage and performance of mobile applications, i.e., applications developed for mobile devices, during runtime. MAM applications can provide visibility into the use and operation of mobile applications, and can produce data that can be used to manage the application, to respond to crash reports, and/or to identify new features for the application.
MAM applications can also be used to enforce enterprise policies that govern the use of the application. Enterprise policies can, for example, define the conditions under which a mobile application can be used and the resources that the mobile application can utilize. For example, an enterprise policy can limit the ability of a mobile application to access certain networks, to use certain features of a mobile device, such as its camera, microphone or speaker, etc.
Mobile applications are typically distributed in an application package containing the elements needed to run the application, such as the program code, resources, certificates and a manifest. A management application, such as an MAM application, can be attached to the mobile application by modifying the program code of the application to include the MAM code. This modification is referred to as “application wrapping.” When an application is wrapped, a layer of code is added to the application binary file to add features or modify behavior of the application without making changes to the internal application code.
MAM applications can also exist as standalone applications, i.e. not as application wrappers that encapsulate another program, on a mobile computing device.